package cn.heyige.backend.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.heyige.backend.entity.AiMessageDO;

/**
 * AI消息服务接口 - 精简版
 *
 * 专注于核心AI消息管理功能，提高系统性能和可维护性
 *
 * @author CodeBuddy
 */
public interface AiMessageService extends IService<AiMessageDO> {
    
    /**
     * 根据会话ID获取AI消息列表
     *
     * @param sessionId 会话ID
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @return AI消息列表
     */
    IPage<AiMessageDO> getMessagesBySessionId(String sessionId, Integer pageNum, Integer pageSize);
    
    /**
     * 根据用户ID获取AI消息列表
     *
     * @param userId 用户ID
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @return AI消息列表
     */
    IPage<AiMessageDO> getMessagesByUserId(Long userId, Integer pageNum, Integer pageSize);
    
    /**
     * 删除指定会话的所有消息
     *
     * @param sessionId 会话ID
     * @return 是否删除成功
     */
    boolean deleteMessagesBySessionId(String sessionId);
    
    /**
     * 删除指定用户的所有消息
     *
     * @param userId 用户ID
     * @return 是否删除成功
     */
    boolean deleteMessagesByUserId(Long userId);
}
